From a6526eb82081811316d73597dda740930b18fc9e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 14 May 2014 12:53:54 +0200 Subject: [PATCH] gdk: Lookup both device and global cursor when checking up the hierarchy When the pointer cursor is updated on CSW, lookup for either a device cursor, or a global one. It would previously lookup for windows with a global cursor, and then check if it had a device cursor, which would skip windows with only device cursors set, and unexpectedly set the global cursor. --- gdk/gdkwindow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index e343e2c704..c66c8ee204 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -6891,6 +6891,7 @@ update_cursor (GdkDisplay *display, /* Find the first window with the cursor actually set, as the cursor is inherited from the parent */ while (cursor_window->cursor == NULL && + !g_hash_table_contains (cursor_window->device_cursor, device) && (parent = get_event_parent (cursor_window)) != NULL && parent->window_type != GDK_WINDOW_ROOT) cursor_window = parent; -- 2.30.2